// pages/demo3/demo3.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatar: '/pages/demo3/imge/gengar.png', // 默认头像
    nickname: '未登录', // 默认昵称
    isLoggedIn: false, // 登录状态
    collectValue: 320,
    rank: 3324,
    menuList: [
      {
        icon: '/pages/demo3/imge/pika.png',
        text: '个人资料',
        bg: 'menu-yellow'
      },
      {
        icon: '/pages/demo3/imge/squirtle.png',
        text: '卡牌收藏',
        bg: 'menu-blue'
      },
      {
        icon: '/pages/demo3/imge/bulbasaur.png',
        text: '青草广场',
        bg: 'menu-green'
      },
      {
        icon: '/pages/demo3/imge/gengar.png',
        text: '详细介绍',
        bg: 'menu-purple'
      },
      {
        icon: '/pages/demo3/imge/charmander.png',
        text: '我的订单',
        bg: 'menu-orange'
      }
    ]

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadUserInfo();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.loadUserInfo();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  /**
   * 头像点击事件
   */
  onAvatarClick() {
    if (!this.data.isLoggedIn) {
      // 未登录时跳转到登录页面
      wx.navigateTo({
        url: '/pages/signup/signup'
      });
    } else {
      // 已登录时显示用户信息或跳转到个人资料页面
      wx.showToast({
        title: '已登录用户',
        icon: 'success'
      });
    }
  },

  /**
   * 头像长按事件 - 登出功能
   */
  onAvatarLongPress() {
    if (this.data.isLoggedIn) {
      wx.showModal({
        title: '确认登出',
        content: '确定要退出登录吗？',
        success: (res) => {
          if (res.confirm) {
            this.logout();
          }
        }
      });
    }
  },

  /**
   * 菜单项点击事件处理
   */
  onMenuClick(e) {
    const index = e.currentTarget.dataset.index;
    const menuItem = this.data.menuList[index];
    
    // 根据菜单项文本进行不同的跳转
    switch(menuItem.text) {
      case '个人资料':
        wx.navigateTo({
          url: '/pages/myselfMessage/myselfMessage'
        });
        break;
      case '卡牌收藏':
        wx.navigateTo({
          url: '/pages/myselfLike/myselfLike'
        });
        break;
      case '青草广场':
        wx.navigateTo({
          url: '/pages/communication/communication'
        });
        break;
      case '详细介绍':
        wx.navigateTo({
          url: '/pages/introduction/introduction'
        });
        break;
      case '我的订单':
        wx.navigateTo({
          url: '/pages/order/order'
        });
        break;
      default:
        break;
    }
  },

  /**
   * 加载用户信息
   */
  loadUserInfo() {
    // 检查登录状态
    const isLoggedIn = wx.getStorageSync('isLoggedIn');
    const currentUser = wx.getStorageSync('currentUser');
    const userInfo = wx.getStorageSync('userInfo');
    
    if (isLoggedIn && currentUser) {
      // 已登录状态
      this.setData({
        isLoggedIn: true,
        nickname: userInfo.name || currentUser.username || '已登录用户',
        avatar: (userInfo && userInfo.avatar) ? userInfo.avatar : '/pages/demo3/imge/gengar.png'
      });
    } else {
      // 未登录状态
      this.setData({
        isLoggedIn: false,
        nickname: '未登录',
        avatar: '/pages/demo3/imge/WDL.jpg'
      });
    }
  },

  /**
   * 登出功能
   */
  logout() {
    // 清除登录状态和用户信息
    wx.removeStorageSync('isLoggedIn');
    wx.removeStorageSync('currentUser');
    wx.removeStorageSync('loginTime');
    wx.removeStorageSync('userInfo');
    getApp().globalData.userInfo = null;
    // 更新页面状态
    this.setData({
      isLoggedIn: false,
      nickname: '未登录',
      avatar: '/pages/demo3/imge/WDL.jpg'
    });
    // 显示登出成功提示
    wx.showToast({
      title: '已退出登录',
      icon: 'success'
    });
  },
})